<?php

 class wxTemplateSms {
     
     protected $appid= "";
     protected $appsecret= "";
     protected $access_token="";
     
     public function __construct($appid="",$appsecret="")
     {
         $this->appid=$appid;
         $this->appsecret=$appsecret;
        $this->access_token= $this->getAccessToken($this->appid, $this->appsecret);
     }
     
   public  function getAccessToken ($appid, $appsecret) {
         $url='https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$appid.'&secret='.$appsecret;
         $html = file_get_contents($url);
         $output = json_decode($html, true);
         $access_token = $output['access_token'];
         
         return $access_token;
     }
     
     
     // 发送 POST 请求的函数
     // 你也可以用 cUrl 或者其他网络库，简单的请求这个函数就够用了
   public  function send_post( $url, $post_data ) {
         $options = array(
             'http' => array(
                 'method'  => 'POST',
                 // header 需要设置为 JSON
                 'header'  => 'Content-type:application/json',
                 'content' => $post_data,
                 // 超时时间
                 'timeout' => 60
             )
         );
         
         $context = stream_context_create( $options );
         $result = file_get_contents( $url, false, $context );
         
         return $result;
     }
     
     
     /**
     
     * 发送模版消息
     
     * @date: 2019年7月9日 下午9:35:55
     
     * @author: 龚华尧
     
     * @param:           
     * $data_arr = array(
              'keyword1' => array( "value" => $value, "color" => $color )
          );
     
     * @return:
     
     */
     public function sendSms($post_data) {
         // 这里替换为你的 appID 和 appSecret
         //$url = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=".$this->access_token;
         $url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=".$this->access_token;
         // 将数组编码为 JSON
         $data = json_encode($post_data, true);
         
         // 这里的返回值是一个 JSON，可通过 json_decode() 解码成数组
         $this->send_post( $url, $data);
     }
     
 }


